package gcp;

import java.io.Serializable;
import java.util.Date;

/**
 * A Classe Emprestimo representa todos os colecionaveis que foram pegos
 * emprestados.
 */
public class Emprestimo implements Serializable {

    private static final long serialVersionUID = -1447855137713799744L;

    private Colecionavel item;
    private Pessoa emprestadoA;
    private Pessoa proprietario;
    private Date dataDeEmprestimo;
    private String comentarios;

    /**
     * Cria um objeto Emprestimo.
     */
    public Emprestimo() {}

    /**
     * Cria um objeto Emprestimo.
     * @param item - Item colecionavel que foi emprestado.
     * @param emprestadoA - Pessoa que pegou o colecionavel emprestado.
     * @param proprietario - Proprietario que emprestou o colecionavel.
     * @param dataDeEmprestimo - A data em que o colecionavel foi emprestado.
     */
    public Emprestimo(Colecionavel item, Pessoa emprestadoA,
            Pessoa proprietario, Date dataDeEmprestimo) {
        this.item = item;
        this.emprestadoA = emprestadoA;
        this.proprietario = proprietario;
        this.dataDeEmprestimo = dataDeEmprestimo;

    }

    /**
     * Retorna o item Colecionavel que foi emprestado.
     * @return Colecionavel item - Item que foi emprestado.
     */
    public Colecionavel getItem() {
        return item;
    }

    /**Atualizacao do item Colecionavel do Emprestimo.
     * @param item - Item Colecionavel do Emprestimo.
     */
    public void setItem(Colecionavel item) {
        this.item = item;
    }

    /**
     * Retorna a Pessoa que esta com o Colecionavel que lhe foi emprestado.
     * @return Pessoa emprestadoA - Pessoa que esta com o Colecionavel que lhe foi emprestado.
     */
    public Pessoa getEmprestadoA() {
        return emprestadoA;
    }

    /**
     * Atualizacao da Pessoa que pegou o Colecionavel emprestado.
     * @param emprestadoA - Pessoa que pegou o Colecionavel emprestado.
     */
    public void setEmprestadoA(Pessoa emprestadoA) {
        this.emprestadoA = emprestadoA;
    }

    /**
     * Retorna a pessoa que eh proprietaria do colecionavel que foi emprestado.
     * @return Pessoa proprietario - Proprietario do colecionavel que foi emprestado.
     */
    public Pessoa getProprietario() {
        return proprietario;
    }

    /**
     * Atualiza o proprietaria do Colecionavel que foi emprestado.
     * @param proprietario - Proprietario do colecionavel que foi emprestado.
     */
    public void setProprietario(Pessoa proprietario) {
        this.proprietario = proprietario;
    }

    /**
     * Retorna a data que o Colecionavel foi emprestado.
     * @return Date dataDeEmprestimo - Data em que o Colecionavel foi emprestado.
     */
    public Date getDataDeEmprestimo() {
        return dataDeEmprestimo;
    }

    /**Atualizacao da data em que se realizou o emprestimo.
     * @param dataDeEmprestimo - Data em que se realizou o emprestimo.
     */
    public void setDataDeEmprestimo(Date dataDeEmprestimo) {
        this.dataDeEmprestimo = dataDeEmprestimo;
    }

    /**
     * Retorna os comentarios sobre o colecionavel que foi emprestado.
     * @return String comentarios - Comentarios sobre o colecionavel que foi emprestado.
     */
    public String getComentarios() {
        return comentarios;
    }

    /**Atualizacao dos comentarios a respeito do Colecionavel Emprestado.
     * @param comentarios - Cometarios a respeito do Colecionavel Emprestado.
     */
    public void setComentarios(String comentarios) {
        this.comentarios = comentarios;
    }
}